package aplicada;

import br.edu.GenericDAO;
import br.edu.HibernateUtil;
import cartao.Cartao;
import telas.O19TelaPerfilDoCartao;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

public class AplicadaDAO extends GenericDAO<Aplicada> {

    private Session sessao;
    private Transaction transacao;

    public AplicadaDAO() {
        super(Aplicada.class);
    }

    public List<Aplicada> listarAplicadas(Cartao cartao) {
        System.out.println("Id do cartao:" +cartao.getId_cartao());
        List<Aplicada> lista;
        
        sessao = HibernateUtil.getSessionFactory()
                .openSession();
        transacao = sessao.beginTransaction();
        //lista = (List<Aplicada>) sessao.createCriteria(Aplicada.class).add(Restrictions.eq("cartao_id_cartao", id_cartao));
        Criteria crit = sessao.createCriteria(Aplicada.class).add(Restrictions.eq("cartao", 
                cartao));        
       lista = crit.list();
        transacao.commit();
        sessao.close();

        return lista;
        
    }
     

    
      public List<Aplicada> ListaCartao(Cartao cartao) {
        sessao = HibernateUtil.getSessionFactory().openSession();
        transacao = sessao.beginTransaction();
        Criteria criteria = sessao.createCriteria(Aplicada.class);
        criteria.add(Restrictions.eq("cartao", cartao));
        criteria.addOrder(Order.asc("cartao"));
        List<Aplicada> aplicada = criteria.list();
        transacao.commit();
        sessao.close();

       
        return aplicada;
    }

}
